//  封装鉴权路由组件

import { Route, Redirect } from "react-router-dom"
import { getToken } from "@/utils"
// 判断有无token- redux- 本地缓存
// 只要使用了该鉴权路由 就表示 如果你没有登录 就跳转到登陆页 如果有token 就放过
const AuthRoute = ({ children, ...rest }) => {
  return (
    <Route
      {...rest}
      render={(props) => {
        if (!!getToken()) {
          // 此时继续 渲染的是 component 或者是chilren
          return children
        }
        return (
          <Redirect
            to={{
              pathname: "/login",
              // 携带的是当前要访问的地址- 因为要在登录成功之后 再次跳转回来
              state: {
                from: props.location.pathname,
              },
            }}
          ></Redirect>
        )
      }}
    ></Route>
  )
}
export default AuthRoute
